package root.plumbum2;

import java.util.Random;

public class Emprestimo {

	private Item item;
	private String idEmprestimo;
	private int tempoEmprestimo;
	private String status="Andamento";
	private boolean aprovado;
	private boolean devolvido;
	private boolean requisitouDevolucao=false;
	private boolean deletado = false;
	private String pedinte;

	
	/**
	 * Cria um emprestimo com um item e tempo de duracao
	 * @param item
	 * @param tipo
	 * @param tempoEmprestimo
	 * @throws Exception
	 */
	public Emprestimo(Item item, int tempoEmprestimo, String loginPedinte)throws Exception{
		Random random = new Random();
		if(tempoEmprestimo<=0)throw new Exception("Duracao inválida");
		this.item = item;
		this.tempoEmprestimo = tempoEmprestimo;
		this.idEmprestimo = item.getDono()+String.valueOf((int) (random.nextFloat() * 100000));
		this.pedinte=loginPedinte;
	}

	public String getPedinte() {
		return this.pedinte;
	}
	public void setPedinte(String pedinte) {
		this.pedinte = pedinte;
	}
	public void setRequisitouDevolucao(boolean b) {
		this.requisitouDevolucao = b;
	}

	public boolean getRequisitouDevolucao() {
		return this.requisitouDevolucao;
	}

	public String getIdEmprestimo() {
		return this.idEmprestimo;
	}

	public Item getItem() {
		return this.item;
	}

	public String getStatus() {
		return this.status;
	}

	public int getTempoEmprestimo() {
		return this.tempoEmprestimo;
	}

	public void setAprovado(boolean aprovado) {
		this.aprovado = aprovado;
	}

	public boolean getAprovado() {
		return this.aprovado;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public void setDevolvido(boolean devolvido) {
		this.devolvido = devolvido;
	}

	public boolean isDevolvido() {
		return devolvido;
	}

	public void reduzDuracao(int dias) {
		this.tempoEmprestimo = this.tempoEmprestimo - dias;
	}

	public boolean getDeletado() {
		return this.deletado;
	}

	public void deleta() {
		this.deletado = true;
	}
}
